In engineering, system integration is the bringing together of the component subsystems into one system and ensuring that the subsystems function together as a system.[1] In information technology, systems integration[2] is the process of linking together different computing systems and software applications physically or functionally,[3] to act as a coordinated whole.
The system integrator brings together discrete systems utilizing a variety of techniques such as computer networking, enterprise application integration, business process management or manual programming.[4]
Contents |
A system is an aggregation of subsystems cooperating so that the system is able to deliver the over-arching functionality. System integration involves integrating existing (often disparate) subsystems. The subsystems will have interfaces. Integration involves joining the subsystems together by “gluing” their interfaces together. If the interfaces don’t directly interlock, the “glue” between them can provide the required mappings. System integration is about determining the required “glue”.
System integration is also about adding value to the system, capabilities that are possible because of interactions between subsystems.
In today’s connected world, the role of system integration engineers is becoming more and more important: more and more systems are designed to connect, both within the system under construction and to systems that are already deployed.[5]
A system integration engineer needs a broad range of skills and is likely to be defined by a breadth of knowledge rather than a depth of knowledge. In an effort to better quantify the required skillset of a competent integrator by today's standards, Eric Wick developed a matrix template in 2010 to assess the capabilities of integrators interested in pursuing careers in the field.
These skills are likely to include software and hardware engineering, interface protocols, and general problem solving skills. It is likely that the problems to be solved have not been solved before except in the broadest sense. They are likely to include new and challenging problems with an input from a broad range of engineers where the system integration engineer "pulls it all together."[6]
Vertical Integration (as opposed to "horizontal") is the process of integrating subsystems according to their functionality by creating functional entities also referred to as silos.[7] The benefit of this method is that the integration is performed quickly and involves only the necessary vendors, therefore, this method is cheaper in the short term. On the other hand, cost-of-ownership can be substantially higher than seen in other methods, since in case of new or enhanced functionality, the only possible way to implement (scale the system) would be by implementing another silo. Reusing subsystems to create another functionality is not possible.[8]
Star Integration or also known as Spaghetti Integration is a process of integration of the systems where each system is interconnected to each of the remaining subsystems. When observed from the perspective of the subsystem which is being integrated, the connections are reminiscent of a star, but when the overall diagram of the system is presented, the connections look like spaghetti, hence the name of this method. The cost varies due to the interfaces which subsystems are exporting. In a case where the subsystems are exporting heterogeneous or proprietary interfaces, the integration cost can substantially rise. Time and costs needed to integrate the systems increase exponentially when adding additional subsystems. From the feature perspective, this method often seems preferable, due to the extreme flexibility of the reuse of functionality.[8]
Horizontal Integration or Enterprise Service Bus (ESB) is an integration method in which a specialized subsystem is dedicated to communication between other subsystems. This allows cutting the number of connections (interfaces) to only one per subsystem which will connect directly to the ESB. The ESB is capable of translating the interface into another interface. This allows cutting the costs of integration and provides extreme flexibility. With systems integrated using this method, it is possible to completely replace one subsystem with another subsystem which provides similar functionality but exports different interfaces, all this completely transparent for the rest of the subsystems. The only action required is to implement the new interface between the ESB and the new subsystem.[8]
The horizontal scheme can be misleading, however, if it is thought that the cost of intermediate data transformation or the cost of shifting responsibility over business logic can be avoided.[8]
A common data format is an integration method to avoid every adapter having to convert data to/from every other applications' formats, EAI systems usually stipulate an application-independent (or common) data format. The EAI system usually provides a data transformation service as well to help convert between application-specific and common formats. This is done in two steps: the adapter converts information from the application's format to the bus's common format. Then, semantic transformations are applied on this (converting zip codes to city names, splitting/merging objects from one application into objects in the other applications, and so on).
The process of systems integration is successfully done in construction engineering. Broad arrays of different engineering fields are simultaneously considered in the planning stage of a project. But all of these areas are adjacent to each other. For instance the structural analysis, construction physics, inherent material science, actual construction course and logistics are all members of a rather small group. A difference would be the simultaneous consideration of areas distributed over the professions of the engineers involved and the architects, landscape architects, maintenance specialist, utility-provider and a scientist rendering the lifecycle balance of the project. Such an Multidisciplinary approach cross all borders of different professions could be regarded as Multi-disciplinary Engineering (MDE). Such a level of integration has the potential to solve problems on an adequate level, achieving much more than financial gain. The number of areas covered in a MDE process is much higher, too.
|